/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * AreaListar.java
 *
 * Created on 07/05/2011, 11:01:09 AM
 */
package org.gingresos.importartablas;

import org.gingresos.regimenimpositivo.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import org.gingresosapi.beans.*;
import org.gingresosapi.controller.*;
import org.gingresosapi.generales.Mensajeria;
import org.gingresos.start.MySesion;
import org.jdesktop.swingx.JXTipOfTheDay;
import org.jdesktop.swingx.tips.DefaultTip;
import org.jdesktop.swingx.tips.DefaultTipOfTheDayModel;
import org.jdesktop.swingx.tips.TipOfTheDayModel;

/**
 *
 * @author avbravo
 */
public class ImportarComercios extends javax.swing.JInternalFrame {

    DefaultTableModel modelo, modeloNueva;
    int fila = -1;
    Connection conexionIngresos = null;
    String ipIngresos;
   
    ComerciocambioscodigoController comerciocambioscodigoController1 = new ComerciocambioscodigoController();
    ComerciosController comerciosController1 = new ComerciosController();
    ComerciosbajaController comerciosbajaController1 = new ComerciosbajaController();
    ComerciosbajaliberacionController comerciosbajaliberacionController1 = new ComerciosbajaliberacionController();
    ComerciosinscripcionController comerciosinscripcionController1 = new ComerciosinscripcionController();
  
    RegimencomerciosController regimencomerciosController1 = new RegimencomerciosController();
  
    Servidoringresos servidoringresos1;
    ServidoringresosController servidoringresosController1;
    SubgruporegimenController subgruporegimenController1 = new SubgruporegimenController();
    
    /*
     * 
     */
    JXTipOfTheDay tipOfTheDay = new JXTipOfTheDay(loadModel());
    Object[] filas = new Object[2]; // Hay tres columnas en la tabla
   
    List<Comerciocambioscodigo> listComerciocambioscodigo = new ArrayList<Comerciocambioscodigo>();
    List<Comercios> listComercios = new ArrayList<Comercios>();
    List<Comerciosbaja> listComerciosbaja = new ArrayList<Comerciosbaja>();
    List<Comerciosbajaliberacion> listComerciosbajaliberacion = new ArrayList<Comerciosbajaliberacion>();
    List<Comerciosinscripcion> listComerciosinscripcion = new ArrayList<Comerciosinscripcion>();
 
    List<Regimencomercios> listRegimencomercios = new ArrayList<Regimencomercios>();
    
    int contador;
    int x;
    int numeroregistros;
    String sql;
    PreparedStatement psquery;
    ResultSet rs;

    private static TipOfTheDayModel loadModel() {
        List tips = Arrays.asList(new DefaultTip("Tip 1", "Este proceso importa grupo, subgrupo, regimen de la base de datos de ingresos"),
                new DefaultTip("Tip 2", "Este proceso consume mucho tiempo."));
        DefaultTipOfTheDayModel model = new DefaultTipOfTheDayModel(tips);
        return model;
    }
    JLabel statusLabel = new JLabel();

    /** Creates new form AreaListar */
    public ImportarComercios() {
        initComponents();


        jXStatusBar1.add(statusLabel);
        servidoringresos1 = new Servidoringresos();
        servidoringresosController1 = new ServidoringresosController();
        servidoringresos1.setIdmunicipio(MySesion.getIdmunicipio());

        if (servidoringresosController1.findByIdmunicipio(servidoringresos1)) {
            Servidoringresos servidoringresos = servidoringresosController1.getServidoringresoslist().get(0);
            jButtonCargarRegistros.setEnabled(true);

        } else {
            Mensajeria.Mensaje("No se ha establecido el servidor de ingresos");

            jButtonCargarRegistros.setEnabled(false);
        }

        modelo = (DefaultTableModel) jTableVieja.getModel();
        modeloNueva = (DefaultTableModel) jTableNueva.getModel();

    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jXStatusBar1 = new org.jdesktop.swingx.JXStatusBar();
        jButtonCargarRegistros = new javax.swing.JButton();
        jButtonAyuda = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTableNueva = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTableVieja = new javax.swing.JTable();
        jProgressBar1 = new javax.swing.JProgressBar();
        jLabelInicio = new javax.swing.JLabel();
        jLabelFin = new javax.swing.JLabel();

        setClosable(true);
        setIconifiable(true);
        setMaximizable(true);
        setResizable(true);
        setTitle("Importar Comercios");

        jLabel2.setText("Esta opción importa todas las tablas del sistema de ingresos anterior");

        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/gingresos/resources/gif/return.png"))); // NOI18N
        jButton1.setToolTipText("Cerrar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButtonCargarRegistros.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/gingresos/resources/gif/download.png"))); // NOI18N
        jButtonCargarRegistros.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonCargarRegistrosActionPerformed(evt);
            }
        });

        jButtonAyuda.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/gingresos/resources/gif/help_icon.gif"))); // NOI18N
        jButtonAyuda.setToolTipText("Ayuda");
        jButtonAyuda.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAyudaActionPerformed(evt);
            }
        });

        jTableNueva.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nueva", "Registros"
            }
        ));
        jScrollPane1.setViewportView(jTableNueva);

        jTableVieja.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Anterior", "Registros"
            }
        ));
        jScrollPane2.setViewportView(jTableVieja);

        jLabelInicio.setText("0.0.0");

        jLabelFin.setText("0.0.0");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(68, 68, 68)
                        .addComponent(jButtonCargarRegistros, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jButtonAyuda, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(55, 55, 55)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelFin)
                            .addComponent(jLabelInicio)))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jXStatusBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 432, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel2)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
                                .addGap(12, 12, 12)
                                .addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 466, Short.MAX_VALUE))
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(82, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel2)
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(jButtonAyuda, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jButton1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jButtonCargarRegistros, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabelInicio)
                        .addGap(18, 18, 18)
                        .addComponent(jLabelFin)))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 108, Short.MAX_VALUE)
                .addComponent(jXStatusBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(22, 22, 22))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
    dispose();
}//GEN-LAST:event_jButton1ActionPerformed

    private void jButtonCargarRegistrosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCargarRegistrosActionPerformed
        Thread queryThread = new Thread() {

            public void run() {
                runQueries();
            }
        };
        queryThread.start();

    }//GEN-LAST:event_jButtonCargarRegistrosActionPerformed

    private void jButtonAyudaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAyudaActionPerformed
        tipOfTheDay.showDialog(this);
    }//GEN-LAST:event_jButtonAyudaActionPerformed
    /**
     * @param args the command line arguments
     */
//    public static void main(String args[]) {
//        java.awt.EventQueue.invokeLater(new Runnable() {
//
//            public void run() {
//                try {
//                    new AreaCrear().setVisible(true);
//                } catch (ParseException ex) {
//                    Logger.getLogger(AreaCrear.class.getName()).log(Level.SEVERE, null, ex);
//                }
//            }
//        });
//    }
    private void runQueries() {
        try {
            if (modelo != null) {
                while (modelo != null && modelo.getRowCount() > 0) {
                    modelo.removeRow(0);
                }
            }
            if (!ConectarIngresos()) {
                Mensajeria.Mensaje("No se pudo conectar...");
                return;
            } else {
                Calendar calendario = Calendar.getInstance();
                int hora = calendario.get(Calendar.HOUR_OF_DAY);
                int minutos = calendario.get(Calendar.MINUTE);
                int segundos = calendario.get(Calendar.SECOND);
                jLabelInicio.setText(String.valueOf(hora) + ":" + String.valueOf(minutos) + ":" + String.valueOf(segundos));
              
                CargarComerciocambioscodigo();
                CargarComercios();
                CargarComerciosbaja();
                CargarComerciosbajaliberacion();
                CargarComerciosinscripcion();
              
                CargarRegimencomercios();
              
                conexionIngresos.close();

                jProgressBar1.setValue(0);
               
                InsertarComerciocambioscodigo();
                InsertarComercios();

                InsertarComerciosbaja();
                InsertarComerciosbajaliberacion();
                InsertarComerciosinscripcion();
                
                InsertarRegimencomercios();
                
                updateProgress("proceso de importacion terminado");
                Calendar calendario2 = Calendar.getInstance();
                int horaf = calendario2.get(Calendar.HOUR_OF_DAY);
                int minutosf = calendario2.get(Calendar.MINUTE);
                int segundosf = calendario2.get(Calendar.SECOND);
                jLabelFin.setText(String.valueOf(horaf) + ":" + String.valueOf(minutosf) + ":" + String.valueOf(segundosf));
                jButtonCargarRegistros.setEnabled(false);
            }

        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "runQueries()");
        }

    }

    private void updateProgress(final String texto) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                // Here, we can safely update the GUI
                // because we'll be called from the
                // event dispatch thread
//                 statusLabel.setText( texto+ " : " + queryNo);
                statusLabel.setText(texto);
            }
        });
    }

    public Boolean ConectarIngresos() {

        try {
            if (ipIngresos == null || ipIngresos.equals("")) {
                Servidoringresos servidoringresos1 = new Servidoringresos();
                ServidoringresosController servidoringresosController1 = new ServidoringresosController();
                servidoringresos1.setIdmunicipio(MySesion.getIdmunicipio());

                if (servidoringresosController1.findByIdmunicipio(servidoringresos1)) {
                    Servidoringresos servidoringresos = servidoringresosController1.getServidoringresoslist().get(0);
                    this.ipIngresos = servidoringresos.getServidor();
                } else {
                    Mensajeria.Mensaje("No se ha configurado el servidor de ingresos ");
                    return true;
                }
            }


            String databaseDB = "sirmupadb";
            String puertoDB = "3306";
            String userDB = "root";
            String passwordDB = "denver";


            String driver = "org.gjt.mm.mysql.Driver";

            Class.forName(driver).newInstance();
            String url = "jdbc:mysql://" + ipIngresos + ":" + puertoDB + "/" + databaseDB;

            conexionIngresos = DriverManager.getConnection(url, userDB, passwordDB);

            if (conexionIngresos == null) {
                Mensajeria.Mensaje("No se pudo establecer la conexion ");

                return false;
            }
            //    Mensajeria.Mensaje("Se conecto exitosamente");
            return true;

        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "Conectar()");
        }
        return null;
    }

    private boolean LocalQuery(String mysq, String tabla) {
        try {
            psquery = conexionIngresos.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE,
                    ResultSet.CONCUR_UPDATABLE);
            rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();

            if (x == 0) {
                rs.close();
                psquery.close();
                filas[0] = tabla;
                filas[1] = 0;
                modelo.addRow(filas);

                return false;
            }

            return true;
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "LocalQuery() . Tabla " + tabla);
        }
        return false;
    }

    private boolean CloseQuery(String tabla) {
        try {
            rs.close();
            psquery.close();

            filas[0] = tabla;
            filas[1] = contador;
            modelo.addRow(filas);

        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "CloseQuery()");
        }
        return false;
    }

   


    private void CargarComerciocambioscodigo() {
        try {
            sql = "select * from comerciocambioscodigo where  idmunicipio='" + MySesion.getIdmunicipio() + "'";
            if (LocalQuery(sql, "comerciocambioscodigo")) {
                rs.beforeFirst();
                contador = 0;
                while (rs.next()) {
                    contador++;
                    listComerciocambioscodigo.add(new Comerciocambioscodigo(
                            rs.getString("idcomercioold"), rs.getString("idcomercionew"), rs.getString("motivo"), rs.getString("idmunicipio"), rs.getDate("fecha"), rs.getString("idusuario")));
                }
                CloseQuery("comerciocambioscodigo");
            }

        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "CargarComerciocambioscodigo()");
        }
    }

    private void CargarComercios() {
        try {

            sql = "select * from comercios where  idmunicipio='" + MySesion.getIdmunicipio() + "'";
            if (LocalQuery(sql, "comercios")) {
                rs.beforeFirst();
                contador = 0;
                while (rs.next()) {
                    contador++;
                    listComercios.add(new Comercios(
                            rs.getString("idcomercio"), rs.getString("cedula"), rs.getString("comercio"), rs.getString("ruc"), rs.getString("descripcion"), rs.getString("direccion"), rs.getString("idcorregimiento"), rs.getString("telefono"), rs.getDate("fecha"), rs.getString("hipotecado"), rs.getString("bajado"), rs.getString("traspaso"), rs.getString("secuestrado"), rs.getString("idmunicipio"), rs.getString("estatal"), rs.getString("activo"), rs.getString("idusuario")));
                }
                CloseQuery("comercios");
            }
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "CargarComercios()");
        }
    }

    private void CargarComerciosbaja() {
        try {

            sql = "select * from comerciosbaja where  idmunicipio='" + MySesion.getIdmunicipio() + "'";
            if (LocalQuery(sql, "comerciosbaja")) {
                rs.beforeFirst();
                contador = 0;
                while (rs.next()) {
                    contador++;
                    listComerciosbaja.add(new Comerciosbaja(
                            rs.getString("idcomercio"), rs.getString("activo"), rs.getString("motivo"), rs.getString("autorizado"), rs.getString("idmunicipio"), rs.getDate("fecha"), rs.getString("idusuario"), contador));
                }
                CloseQuery("comerciosbaja");
            }
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "CargarComerciosbaja()");
        }
    }

    private void CargarComerciosbajaliberacion() {
        try {

            sql = "select * from comerciosbajaliberacion where  idmunicipio='" + MySesion.getIdmunicipio() + "'";
            if (LocalQuery(sql, "comerciosbajaliberacion")) {
                rs.beforeFirst();
                contador = 0;
                while (rs.next()) {
                    contador++;
                    listComerciosbajaliberacion.add(new Comerciosbajaliberacion(
                            rs.getString("idcomercio"), rs.getString("activo"), rs.getString("motivo"), rs.getString("autorizado"), rs.getString("idmunicipio"), rs.getDate("fecha"), rs.getString("idusuario"), contador));
                }
                CloseQuery("comerciosbajaliberacion");
            }

        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "CargarComerciosbajaliberacion()");
        }
    }

    private void CargarComerciosinscripcion() {
        try {

            sql = "select * from comerciosinscripcion where  idmunicipio='" + MySesion.getIdmunicipio() + "'";
            if (LocalQuery(sql, "comerciosinscripcion")) {
                rs.beforeFirst();
                contador = 0;
                while (rs.next()) {
                    contador++;
                    listComerciosinscripcion.add(new Comerciosinscripcion(
                            rs.getString("idcomercio"), rs.getInt("idrecibo"), rs.getString("nopaga"), rs.getString("activo"), rs.getString("motivo"), rs.getString("autorizado"), rs.getString("idmunicipio"), rs.getDate("fecha"), rs.getString("idusuario"), contador));
                }
                CloseQuery("comerciosinscripcion");
            }

        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "CargarComerciosinscripcion()");
        }
    }

  
   
  


    private void CargarRegimencomercios() {
        try {
            sql = "select * from regimencomercios where   idmunicipio='" + MySesion.getIdmunicipio() + "'";
            if (LocalQuery(sql, "regimencomercios")) {
                rs.beforeFirst();
                contador = 0;
                while (rs.next()) {
                    contador++;
                    listRegimencomercios.add(new Regimencomercios(
                            rs.getString("idcomercio"), rs.getString("idregimen"), rs.getDouble("valor"), rs.getString("periodopago"), rs.getString("mespago"), rs.getDate("fechainscripcion"), rs.getString("idusuario"), rs.getDate("fecha"), rs.getString("activo"), rs.getString("idmunicipio")));
                }
                CloseQuery("regimencomercios");
            }
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "CargarRegimencomercios()");
        }
    }

   


    private void InsertarComerciocambioscodigo() {
        try {

            comerciocambioscodigoController1.deleteAll();
            contador = 0;
            numeroregistros = listComerciocambioscodigo.size();
            jProgressBar1.setValue(0);
            for (Comerciocambioscodigo comerciocambioscodigo : listComerciocambioscodigo) {

                updateProgress("procesando comerciocambioscodigo " + contador + " de " + numeroregistros);
                if (!comerciocambioscodigoController1.exists(comerciocambioscodigo)) {
                    if (comerciocambioscodigoController1.insert(comerciocambioscodigo)) {
                        contador++;
                        jProgressBar1.setValue((contador * 100) / numeroregistros);
                    }
                }
            }

            filas[0] = "comerciocambioscodigo";
            filas[1] = contador;


            modeloNueva.addRow(filas);
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "InsertarComerciocambioscodigo()");
        }
    }

    private void InsertarComercios() {
        try {

            comerciosController1.deleteAll();
            contador = 0;
            numeroregistros = listComercios.size();
            jProgressBar1.setValue(0);
            for (Comercios comercios : listComercios) {

                updateProgress("procesando comercios " + contador + " de " + numeroregistros);
                if (!comerciosController1.exists(comercios)) {
                    if (comerciosController1.insert(comercios)) {
                        contador++;
                        jProgressBar1.setValue((contador * 100) / numeroregistros);
                    }
                }
            }

            filas[0] = "comercios";
            filas[1] = contador;


            modeloNueva.addRow(filas);
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "InsertarComercios()");
        }
    }

    private void InsertarComerciosbaja() {
        try {

            comerciosbajaController1.deleteAll();
            contador = 0;
            numeroregistros = listComerciosbaja.size();
            jProgressBar1.setValue(0);
            for (Comerciosbaja comerciosbaja : listComerciosbaja) {

                updateProgress("procesando comerciosbaja " + contador + " de " + numeroregistros);
                if (!comerciosbajaController1.exists(comerciosbaja)) {
                    if (comerciosbajaController1.insert(comerciosbaja)) {
                        contador++;
                        jProgressBar1.setValue((contador * 100) / numeroregistros);
                    }
                }
            }

            filas[0] = "comerciosbaja";
            filas[1] = contador;


            modeloNueva.addRow(filas);
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "InsertarComerciosbaja()");
        }
    }

    private void InsertarComerciosbajaliberacion() {
        try {

            comerciosbajaliberacionController1.deleteAll();
            contador = 0;
            numeroregistros = listComerciosbajaliberacion.size();
            jProgressBar1.setValue(0);
            for (Comerciosbajaliberacion comerciosbajaliberacion : listComerciosbajaliberacion) {

                updateProgress("procesando comerciosbajaliberacion " + contador + " de " + numeroregistros);
                if (!comerciosbajaliberacionController1.exists(comerciosbajaliberacion)) {
                    if (comerciosbajaliberacionController1.insert(comerciosbajaliberacion)) {
                        contador++;
                        jProgressBar1.setValue((contador * 100) / numeroregistros);
                    }
                }
            }

            filas[0] = "comerciosbajaliberacion";
            filas[1] = contador;


            modeloNueva.addRow(filas);
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "InsertarComerciosbajaliberacion()");
        }
    }

    private void InsertarComerciosinscripcion() {
        try {

            comerciosinscripcionController1.deleteAll();
            contador = 0;
            numeroregistros = listComerciosinscripcion.size();
            jProgressBar1.setValue(0);
            for (Comerciosinscripcion comerciosinscripcion : listComerciosinscripcion) {

                updateProgress("procesando comerciosinscripcion " + contador + " de " + numeroregistros);
                if (!comerciosinscripcionController1.exists(comerciosinscripcion)) {
                    if (comerciosinscripcionController1.insert(comerciosinscripcion)) {
                        contador++;
                        jProgressBar1.setValue((contador * 100) / numeroregistros);
                    }
                }
            }

            filas[0] = "comerciosinscripcion";
            filas[1] = contador;


            modeloNueva.addRow(filas);
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "InsertarComerciosbajaliberacion()");
        }
    }
 private void InsertarRegimencomercios() {
        try {

            regimencomerciosController1.deleteAll();
            contador = 0;
            numeroregistros = listRegimencomercios.size();
            jProgressBar1.setValue(0);
            for (Regimencomercios regimencomercios : listRegimencomercios) {
                updateProgress("procesando regimencomercios  " + contador + " de " + numeroregistros);
                if (!regimencomerciosController1.exists(regimencomercios)) {
                    if (regimencomerciosController1.insert(regimencomercios)) {
                        contador++;
                        jProgressBar1.setValue((contador * 100) / numeroregistros);
                    }
                }
            }
            filas[0] = "regimencomercios";
            filas[1] = contador;
            modeloNueva.addRow(filas);
        } catch (Exception ex) {
            Mensajeria.MensajeError(ex, "InsertarRegimencomercios()");
        }
    }
   
   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButtonAyuda;
    private javax.swing.JButton jButtonCargarRegistros;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabelFin;
    private javax.swing.JLabel jLabelInicio;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JProgressBar jProgressBar1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTable jTableNueva;
    private javax.swing.JTable jTableVieja;
    private org.jdesktop.swingx.JXStatusBar jXStatusBar1;
    // End of variables declaration//GEN-END:variables
}
